package InitGorm

import (
	"gOrmTest/Models"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/schema"
)

var Db *gorm.DB

func init() {
	dsn := `root:201314huang@tcp(127.0.0.1:3306)/gorm_class?charset=utf8mb4&parseTime=True&loc=Local`
	db, _ := gorm.Open(mysql.Open(dsn), &gorm.Config{
		SkipDefaultTransaction: false,
		NamingStrategy: schema.NamingStrategy{
			TablePrefix:   "gva_", // 表名前缀，`User` 的表名应该是 `t_users`
			SingularTable: false,  // 使用单数表名，启用该选项，此时，`User` 的表名应该是 `t_user`
		},
		DisableForeignKeyConstraintWhenMigrating: true, // 逻辑外键（代码里面自动关联外键关系）
	})

	_ = db.AutoMigrate(&Models.User{})

	//type User_Two struct {
	//	Name string
	//}

	//M := db.Migrator()

	// 判断表是否存在
	//M.CreateTable(&User{})
	//fmt.Println(M.HasTable(&User{}))
	//fmt.Println(M.DropTable(&User{}))

	//if M.HasTable(&User{}) {
	//	//	 重命名表（分表）
	//	//M.RenameTable(&User{}, "gva_user_two")
	//	M.RenameTable(&User{}, &User_Two{})
	//} else {
	//	M.CreateTable(&User{})
	//}

	Db = db

}
